//发布新文章的处理函数
//导入数据库
const db = require('../db/index');

 //导入处理路径的 path 核心模块
const path = require('path');


exports.addArticle  = (req, res) =>{
    //手动判断是否上传了文章封面
   if(!req.file || req.file.fieldname !== 'cover_img') return res.cc('文章封面是必选参数！')
    
   
  // TODO：证明数据都是合法的，可以进行后续业务逻辑的处理
  // 处理文章的信息对象
    const articleInfo  ={
    // 标题、内容、状态、所属的分类Id

         // 文章封面在服务器端的存放路径
         cover_img:path.join('/uploads', req.file.fieldname),

         //文章发布时间
         pub_date: new Date(),

         //文章作者的Id
         author_id: req.user.id,
    }


    //定义发布文章的 SQL 语句
    const sql = 'insert into ev_articles set ?';

    //调用 db.query() 执行发布文章的SQL语句
    db.query(sql, articleInfo, (err, results)=>{
        //执行官SQL语句失败
        if(err) return res.cc(err);

        //执行SQL语句成功，但是影响行数不等于 1
        if(results.affectedRows !== 1) return res.cc('发布文章失败！');

        //发布文章成功
        res.cc('发布文章成功^_*!', 0)
    })
}